home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994…tember: Reference Library / Dev.CD Sep 94.toast / Periodicals / develop / develop Issue 11 / develop 11 code / The NetWork Project / How to use Spinning Brain… < prev    next >
Encoding:
Text File  |  1992-07-15  |  8.7 KB  |  165 lines  |  [ttro/ttxt]

  1.  
  2. How to use Spinning Brain
  3.  
  4.  
  5. “Spinning Brain” is a neural net applied for picture pocessing.  For more information on the theory and the implementation model, consult “Spinning Brain: An interactive program for associative recall of visual patterns”.
  6.  
  7. “Spinning Brain”: a first tour.
  8.  
  9. Launch “Spinning Brain” and open the file “*Car pictures” on the distribution disk. The file contains pictures which are read in one by one, and discretized. The pictures used as a training set are entered in the album on the lower half of Spinning Brain’s window (see figure 1). One picture, the picture to be retrieved, is entered in Spinning Brain’s canvas (see figure 1). You can modify this picture bit by bit yourself by clicking on it.
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31. Figure 1: Screen dump from “Spinning Brain” with main components: Canvas and Album.
  32.  
  33. Clicking “Search” will start the neural net. So far the pictures are only entered in the album. Now the neural net first has to be trained on them to mould its memory. This is takes place after you clicked “Search”. Then the main action of “Spinning Brain” starts. It is now processing the blurred picture which is entered in the canvas, using the dynamics of the neural net as trained by the pictures in the album. Watch how the picture gradually gets more similar to one of the pictures in the album.
  34.  
  35. You can leave “Spinning Brain” by selecting “Quit” from the file menu.
  36.  
  37.  
  38. “Spinning Brain”: a closer look.
  39.  
  40. Spinning Brain operates on pictures (more specifically on bit maps). Pictures can be entered in the Album  or on the Canvas. The Album is Spinning Brain’s training set. The canvas is its work area. 
  41.  
  42. All pictures are initially entered on the canvas. You can transport a picture from the canvas to the album by clicking “Note”. The canvas will be cleared automatically. If you press the option key while clicking “Note”, it will keep its current picture. 
  43.  
  44. You can enter a picture on the canvas in several ways.
  45. •    You can click it pixel by pixel.
  46. •    You can cut it from another application, or from the scrapbook, and paste it to the canvas.
  47. •    You can drag it from the visible part of the album to the canvas.
  48. •    You can load it from a file saved by Spinning Brain.
  49.  
  50. There are no editing actions possible on the pictures in the album. The album can only be cleared. 
  51. The album can be scrolled using the two arrow buttons below the album.
  52.  
  53. An additional pane on the top left is provided to show the initial configuration for the neural net, it´s starting work set.
  54.  
  55.  
  56.  
  57.  
  58. Drawing tools
  59.  
  60. Optionally, a palette of drawing tools is available. The optional drawing tools can be activated by selecting “Show palette” from the control menu.
  61. Note: the usual undo is not implemented for the drawing tools.
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74. Figure 2: Screen dump from “Spinning Brain” with tool palette.
  75.  
  76.  
  77.  
  78.  
  79. Inversion. The linear independence in the training set is critical for the neural nets. Since we are only working with binary data, linear dependence corresponds to negation, or black and white inversion. The inversion tool does this on the canvas.
  80.  
  81.  
  82.  
  83.  
  84. Randomization. A usual application of neural nets is the reconstruction of blurred or perturbed pictures. The randomization tool can be used to perturb the picture on the canvas. The pixels on the canvas are inverted at random. The inversion probability for each pixel is 10%. Using the randomization tool with the option key pressed down repeats the action.
  85.  
  86.  
  87.  
  88. Nudge down.
  89.  
  90. Nudge right. 
  91.  
  92. “Spinning Brain” operates on bit patterns, not on pictures. Hence two patterns which are shifted by one place may be completely incomparable to the neural net, although they look nearly alike as a picture. However the internal correlation structure found in real pictures softens this positional dependence. Use the nudge tools to produce shifted pictures. Using the nudge tools with the option key pressed down repeats the action.
  93.  
  94.  
  95.  
  96. Selecting network types and computing strategies
  97.  
  98.  
  99. Neural networks are dynamical systems which are highly suited for parallel computation. Specialized hardware would be a first choice. “Spinning Brain” is set up to experiment with different models for parallelization. To allow this, “Spinning Brain” adds a control level above the neural net, called the searcher. The neural net provides the basic computing facility. The searcher  allocates computing tasks to the neural network. 
  100.  
  101. There can be various models for neural networks. They can differ in their dynamic model, or in the way the dynamics is implemented. “Spinning brain” comes with a general neural network prototype, for which four different implementations are supplied.
  102.  
  103. The task scheduling scheme to be activated can be chosen from the Control menu. The basic implementation of the neural network to be activated can be chosen from the Network menu. 
  104.  
  105. Note: “Spinning brain” is written for extensibility and for experimental use. The network types and the search scheduler types available may depend on the specific version. See separate documentation for the network types and the search scheduler types, if installed.
  106. The currently active network implementation and search scheduler will show their identification on the canvas dialog.
  107.  
  108. Note: The basic distribution version comes with two search schedulers, called standard and partial, and an implementation of neural nets based on a local field algorithm documented in a separate article.
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121. Figure 3: Main controls and display components from the canvas.
  122.  
  123.  
  124. Observing
  125.  
  126. There are three global activity monitors supplied: a  monitor of the overall activity of the pattern (i.e. the number of black pixels on the canvas), a monitor of the transition rate, and a monitor of the overlaps count with the first picture shown in the album. These monitors are only active during the search phase.
  127.  
  128.  Observers are activated using the Observe menu. All observers rescale automatically if the y-range is exceeded. A beep sound is emitted if an observer is rescaled. All observers shift left if filled up. Again, an automatic rescaling of the y-direction takes place when shifting left.
  129.  
  130. Activity reports of the neural net and the search scheduler depend on the active implementation. The observer for both are experimental and subject to change.
  131.  
  132. The observer for the default searcher (Id: Std searcher) shows the number of iterations done against clock time.
  133.  
  134. The observer for the default net (Id: LF net, random) shows the number of transitions done against the number of iterations done.
  135.  
  136.  
  137. Previewing
  138.  
  139. “Spinning Brain “ allows viewing what a completely parallel implementation would do in the next step. Hold the option key and click in in the canvas area to get an alternating grafics as long as you hold the button pressed.
  140.  
  141. Search strategies: Control->Standard
  142.  
  143. The standard search strategy is a single-CPU search operating on the global picture, following the search strategy of the neural net selected. This is the default search strategy.
  144.  
  145.  
  146. Search strategies: Control->Partial
  147.  
  148. The partial search strategy is a single-CPU search operating on the picture, following the search strategy of the neural net selected. However the pixels on which the neural net may operate at any time are restricted to a slice of the picture. The slices may vary in time. A visual feedback of the active slice is given.
  149.  
  150.  
  151. Search strategies: Control->Asynchronous
  152.  
  153. The asynchronous search strategy is a multi-CPU search operating on the picture, following the search strategy of the neural net selected. It is a variant of the partial search strategy. While one slice is processed locally, asynchronous search will try to allocate other slices to other CPUs for asynchronous processing. A visual feedback of the active slice on the local machine is given, and a change bar is used to mark a slice which has been updated from the results of a remote machine.
  154.  
  155. Note: Asynchronous processing is only available if a NetWork Processor is installed. It will only show differences from partial processing, if other NetWork accessible machines are idle in the local network zone and can be used as remote compute servers.
  156.  
  157. Search strategies: Control->Genetic
  158.  
  159. The asynchronous search strategy is a multi-CPU search operating on the picture, following the search strategy of the neural net selected. It is a variant of the asynchronous search strategy. Besides returning results to its compute client, a compute server in genetic mode will also send its results to a random other compute server for random mating. A visual feedback as in the asynchronous mode.
  160.  
  161. Note: Genetic processing is only available if a NetWork Processor is installed. It will only show differences from partial processing, if other NetWork accessible machines are idle in the local network zone and can be used as remote compute servers.
  162.  
  163.  
  164. “Spinning Brain” is adapted to the NetWork facilities of distributed computing. See “How to use NetWork Processor…” for additional information.
  165.